ARM汇编:MRS和MSR指令 | 您所在的位置:网站首页 › mrs 数据 › ARM汇编:MRS和MSR指令 |
ARM汇编:MRS和MSR指令
ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据。 一:下面先来说说状态寄存器针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器。每个位的含义如下图:
1,条件标志位 N(Negative), Z(Zero), C(Carry), V(Verflow)统称为条件标志位。ARM指令可以根据CPSR中的这些条件标志位来选择性的执行。 2,Q标志位 ARM v5的E系列处理器中,CPSR的bit[27]称为Q标志位。主要用于指示增强的DSP指令是否发生了溢出。 3,控制位 I, F, T以及M[4:0]统称为控制位。当异常中断发生时,这些位发生变化。在特权级的处理器模式下,软件可以修改这些控制位。 下表示控制位M[4:0]的含义: 4,保留位 用于将来ARM版本的扩展。 二:状态寄存器访问指令仅有两条:MRS: 状态寄存器到通用寄存器的传送指令。 MSR: 通用寄存器到状态寄存器的传送指令。 三:MRS指令用法:![]() ![]() 其中: 为指令执行的条件码。当忽略时指令为无条件执行。 设置状态寄存器中需要操作的位。状态寄存器的32位可以分为4个8位的域: f: 指示bits[31 : 24],又名条件标志位域 s: 指示bits[23 : 16],又名状态标志位域 x: 指示bits[15 : 8], 又名扩展位域 c: 指示bits[7 : 0],又名控制位 为将要传送到状态寄存器中的立即数,该立即数的计算方式可以去照看 寄存器包含将要传送到状态寄存器中的数据。 指令的操作伪代码: |
CopyRight 2018-2019 实验室设备网 版权所有 |